package ig.ejb.metrica.da;

import java.sql.Timestamp;
import javax.ejb.*;

/**
 * This is the bean class for the EspeciesposicionesBean enterprise bean.
 * Created 18/08/2006 08:55:16 AM
 * @author jsanchez
 */
public abstract class EspeciesposicionesBean implements EntityBean, EspeciesposicionesLocalBusiness {
    private EntityContext context;
    
    // <editor-fold defaultstate="collapsed" desc="EJB infrastructure methods. Click on the + sign on the left to edit the code.">
    // TODO Consider creating Transfer Object to encapsulate data
    // TODO Review finder methods
    /**
     * @see javax.ejb.EntityBean#setEntityContext(javax.ejb.EntityContext)
     */
    public void setEntityContext(EntityContext aContext) {
        context = aContext;
    }
    
    /**
     * @see javax.ejb.EntityBean#ejbActivate()
     */
    public void ejbActivate() {
        
    }
    
    /**
     * @see javax.ejb.EntityBean#ejbPassivate()
     */
    public void ejbPassivate() {
        
    }
    
    /**
     * @see javax.ejb.EntityBean#ejbRemove()
     */
    public void ejbRemove() {
        
    }
    
    /**
     * @see javax.ejb.EntityBean#unsetEntityContext()
     */
    public void unsetEntityContext() {
        context = null;
    }
    
    /**
     * @see javax.ejb.EntityBean#ejbLoad()
     */
    public void ejbLoad() {
        
    }
    
    /**
     * @see javax.ejb.EntityBean#ejbStore()
     */
    public void ejbStore() {
        
    }
    // </editor-fold>
    
    
    public abstract Integer getId();
    public abstract void setId(Integer id);
    
    public abstract Integer getIdposicion();
    public abstract void setIdposicion(Integer idposicion);
    
    public abstract Timestamp getFechaCorte();
    public abstract void setFechaCorte(Timestamp fechaCorte);
    
    public abstract Double getValornominal();
    public abstract void setValornominal(Double valornominal);
    
    public abstract String getTipo();
    public abstract void setTipo(String tipo);
    
    public abstract String getIsinEspecie();
    public abstract void setIsinEspecie(String isinEspecie);
    
    public abstract String getNombreProducto();
    public abstract void setNombreProducto(String nombreProducto);
    
    public abstract String getUnidades();
    public abstract void setUnidades(String unidades);

    public abstract java.lang.Double getSaldoMora();

    public abstract void setSaldoMora(java.lang.Double saldoMora);

    public abstract java.sql.Timestamp getFechaInicial();

    public abstract void setFechaInicial(java.sql.Timestamp fechaInicial);

    public abstract java.lang.Integer getAlturaMora();

    public abstract void setAlturaMora(java.lang.Integer alturaMora);

    public abstract java.lang.Double getSaldoActual();

    public abstract void setSaldoActual(java.lang.Double saldoActual);
    
    
    public Integer ejbCreate(Integer id, Integer idposicion, Timestamp fechaCorte, Double valornominal, String tipo, String isinEspecie, String nombreProducto, String unidades,Timestamp fechaInicial,Double saldoMora,Integer alturaMora,Double saldoActual)  throws CreateException {
        if (id == null) {
            throw new CreateException("The field \"id\" must not be null");
        }
        if (idposicion == null) {
            throw new CreateException("The field \"idposicion\" must not be null");
        }
        if (fechaCorte == null) {
            throw new CreateException("The field \"fechaCorte\" must not be null");
        }
        if (valornominal == null) {
            throw new CreateException("The field \"valornominal\" must not be null");
        }
        if (tipo == null) {
            throw new CreateException("The field \"tipo\" must not be null");
        }
        if (isinEspecie == null) {
            throw new CreateException("The field \"isinEspecie\" must not be null");
        }
        if (nombreProducto == null) {
            throw new CreateException("The field \"nombreProducto\" must not be null");
        }
        if (unidades == null) {
            throw new CreateException("The field \"unidades\" must not be null");
        }
        if (fechaInicial == null) {
            throw new CreateException("The field \"fechaInicial\" must not be null");
        }
        if (saldoMora== null) {
            throw new CreateException("The field \"saldoMora\" must not be null");
        }
        if (alturaMora== null) {
            throw new CreateException("The field \"alturaMora\" must not be null");
        }        
        if (saldoActual== null) {
            throw new CreateException("The field \"saldoActual\" must not be null");
        }        
        
        
        // TODO add additional validation code, throw CreateException if data is not valid
        setId(id);
        setIdposicion(idposicion);
        setFechaCorte(fechaCorte);
        setValornominal(valornominal);
        setTipo(tipo);
        setIsinEspecie(isinEspecie);
        setNombreProducto(nombreProducto);
        setUnidades(unidades);
        setFechaInicial(fechaInicial);
        setSaldoMora(saldoMora);
        setSaldoActual(saldoActual);
        setAlturaMora(alturaMora);
        return null;
    }
    
    public void ejbPostCreate(Integer id, Integer idposicion, Timestamp fechaCorte, Double valornominal, String tipo, String isinEspecie, String nombreProducto, String unidades,Timestamp fechaInicial,Double saldoMora,Integer alturaMora,Double saldoActual) {
        // TODO populate relationships here if appropriate
        
    }
}
